<?php

abstract class WP_Version_Writer
{
	protected $version = '';

	function __construct($version)
	{
		$this->version = $version;
	}

	abstract public function setup();
	abstract public function save();
	abstract public function addType(WP_Version_Writer_Type $type);
	abstract public function addHook(WP_Version_Writer_Hook $hook);
	abstract public function dump();
	abstract public function getTypes();
	abstract public function getNames($type);
	abstract public function getVersions($type, $name);
}

class WP_Version_Writer_Type
{
	public $type;
	public $name;
	public $version;
	public $definition;
}

class WP_Version_Writer_Hook
{
	public $type;
	public $name;
	public $definition;
	public $file;
	public $line;
	public $version;
}
